diff --git a/include/asm-ppc/global_data.h b/include/asm-ppc/global_data.h
index c53061b..231f247 100644
--- a/include/asm-ppc/global_data.h
+++ b/include/asm-ppc/global_data.h
@@ -70,10 +70,18 @@
 #endif
 #ifdef CONFIG_POST
 	unsigned long	post_log_word;  /* Record POST activities */
+	unsigned long	post_init_f_time;  /* When post_init_f started */
 #endif
 #ifdef CONFIG_BOARD_TYPES
 	unsigned long	board_type;
 #endif
+#ifdef CONFIG_MODEM_SUPPORT
+	unsigned long do_mdm_init;
+	unsigned long be_quiet;
+#endif
+#ifdef CONFIG_LWMON
+	unsigned long kbd_status;
+#endif	
 } gd_t;
 
 /*
diff --git a/include/cmd_bmp.h b/include/cmd_bmp.h
index 1f71578..2b66617 100644
--- a/include/cmd_bmp.h
+++ b/include/cmd_bmp.h
@@ -32,7 +32,7 @@
 #define CMD_TBL_BMP	MK_CMD_TBL_ENTRY(				\
 	"bmp", 3,	3,	1,	do_bmp,				\
 	"bmp     - manipulate BMP image data\n",			\
-	"\nbmp info <imageAddr>    - display image info\n"		\
+	"info <imageAddr>    - display image info\n"			\
 	"bmp display <imageAddr> - display image\n"			\
 ),
 int do_bmp (cmd_tbl_t *cmdtp,  int flag, int argc, char *argv[]);
diff --git a/include/cmd_disk.h b/include/cmd_disk.h
index d3bdb31..6e2e0cb 100644
--- a/include/cmd_disk.h
+++ b/include/cmd_disk.h
@@ -31,9 +31,10 @@
 #include <command.h>
 
 /*
- * Type string for PPC bootable partitions
+ * Type string for U-Boot bootable partitions
  */
-#define BOOT_PART_TYPE	"U-Boot"
+#define BOOT_PART_TYPE	"U-Boot"	/* primary boot partition type	*/
+#define BOOT_PART_COMP	"PPCBoot"	/* PPCBoot compatibility type	*/
 
 #if 0
 
diff --git a/include/configs/TQM8260.h b/include/configs/TQM8260.h
index 3dd6714..86281dd 100644
--- a/include/configs/TQM8260.h
+++ b/include/configs/TQM8260.h
@@ -33,6 +33,7 @@
  *	CONFIG_L2_CACHE
  *	CONFIG_266MHz
  *	CONFIG_300MHz
+ *	CONFIG_MPC8255
  */
 
 /*
@@ -312,10 +313,10 @@
  */
 #if defined(CONFIG_266MHz)
 #define CFG_HRCW_MASTER		(HRCW_CIP | HRCW_ISB111 | HRCW_BMS | \
-				                              HRCW_MODCK_H0111)
+				 HRCW_MODCK_H0111)
 #elif defined(CONFIG_300MHz)
 #define CFG_HRCW_MASTER		(HRCW_CIP | HRCW_ISB111 | HRCW_BMS | \
-				                              HRCW_MODCK_H0110)
+				 HRCW_MODCK_H0110)
 #else
 #define CFG_HRCW_MASTER		(HRCW_CIP | HRCW_ISB111 | HRCW_BMS)
 #endif
diff --git a/include/configs/lwmon.h b/include/configs/lwmon.h
index f80e134..8ab650e 100644
--- a/include/configs/lwmon.h
+++ b/include/configs/lwmon.h
@@ -40,10 +40,13 @@
 #define CONFIG_LWMON		1	/* ...on a LWMON board		*/
 
 #define CONFIG_BOARD_PRE_INIT	1	/* Call board_pre_init		*/
+#define CONFIG_BOARD_POSTCLK_INIT 1	/* Call board_postclk_init	*/
 
 #define CONFIG_LCD		1	/* use LCD controller ...	*/
 #define CONFIG_HLD1045		1	/* ... with a HLD1045 display	*/
 
+#define	CONFIG_SPLASH_SCREEN		/* ... with splashscreen support*/
+
 #if 1
 #define CONFIG_8xx_CONS_SMC2	1	/* Console is on SMC2		*/
 #else
@@ -72,7 +75,8 @@
 				 CFG_POST_I2C	   | \
 				 CFG_POST_SPI	   | \
 				 CFG_POST_USB	   | \
-				 CFG_POST_SPR)
+				 CFG_POST_SPR	   | \
+				 CFG_POST_SYSMON)
 
 #define CONFIG_BOOTCOMMAND	"run flash_self"
 
@@ -134,7 +138,7 @@
 			else    immr->im_cpm.cp_pbdat &= ~PB_SDA
 #define I2C_SCL(bit)	if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
 			else    immr->im_cpm.cp_pbdat &= ~PB_SCL
-#define I2C_DELAY	udelay(1)	/* 1/4 I2C clock duration */
+#define I2C_DELAY	udelay(2)	/* 1/4 I2C clock duration */
 #endif	/* CONFIG_SOFT_I2C */
 
 
@@ -229,7 +233,7 @@
  */
 #define CFG_INIT_RAM_ADDR	CFG_IMMR
 #define CFG_INIT_RAM_END	0x2F00	/* End of used area in DPRAM	*/
-#define CFG_GBL_DATA_SIZE	64  /* size in bytes reserved for initial data */
+#define CFG_GBL_DATA_SIZE	68  /* size in bytes reserved for initial data */
 #define CFG_GBL_DATA_OFFSET	(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
 #define CFG_INIT_SP_OFFSET	CFG_GBL_DATA_OFFSET
 
@@ -571,4 +575,9 @@
 #define BOOTFLAG_COLD	0x01		/* Normal Power-On: Boot from FLASH	*/
 #define BOOTFLAG_WARM	0x02		/* Software reboot			*/
 
+#define CONFIG_MODEM_SUPPORT	1	/* enable modem initialization stuff */
+#undef CONFIG_MODEM_SUPPORT_DEBUG
+
+#define	CONFIG_MODEM_KEY_MAGIC	"3C+3F"	/* hold down these keys to enable modem */
+
 #endif	/* __CONFIG_H */
diff --git a/include/mpc8260.h b/include/mpc8260.h
index 0462cad8..1b67c2b 100644
--- a/include/mpc8260.h
+++ b/include/mpc8260.h
@@ -24,12 +24,19 @@
 /*
  * mpc8260.h
  *
- * MPC8260 specific definitions
+ * MPC8255 / MPC8260 specific definitions
  */
 
 #ifndef __MPC8260_H__
 #define __MPC8260_H__
 
+#ifdef CONFIG_MPC8255
+#define CPU_ID_STR	"MPC8255"
+#endif
+#ifndef CPU_ID_STR
+#define CPU_ID_STR	"MPC8260"
+#endif
+
 /*-----------------------------------------------------------------------
  * Exception offsets (PowerPC standard)
  */
diff --git a/include/post.h b/include/post.h
index a91baa2..8f8f185 100644
--- a/include/post.h
+++ b/include/post.h
@@ -54,8 +54,11 @@
 	char *desc;
 	int flags;
 	int (*test) (int flags);
+	int (*init_f) (void);
+	void (*reloc) (void);
 	unsigned long testid;
 };
+int post_init_f (void);
 void post_bootmode_init (void);
 int post_bootmode_get (unsigned int * last_test);
 void post_bootmode_clear (void);
@@ -64,6 +67,7 @@
 int post_info (char *name);
 int post_log (char *format, ...);
 void post_reloc (void);
+unsigned long post_time_ms (unsigned long base);
 
 extern struct post_test post_list[];
 extern unsigned int post_list_size;
@@ -81,6 +85,7 @@
 #define CFG_POST_SPI		0x00000100
 #define CFG_POST_USB		0x00000200
 #define CFG_POST_SPR		0x00000400
+#define CFG_POST_SYSMON		0x00000800
 
 #endif /* CONFIG_POST */
 
diff --git a/include/version.h b/include/version.h
index d9afc48..8876686 100644
--- a/include/version.h
+++ b/include/version.h
@@ -24,6 +24,6 @@
 #ifndef	__VERSION_H__
 #define	__VERSION_H__
 
-#define	U_BOOT_VERSION	"U-Boot 0.3.1"
+#define	U_BOOT_VERSION	"U-Boot 0.3.2"
 
 #endif	/* __VERSION_H__ */
